package com.sh.data.engine.repository.dao.normalization.index.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sh.data.engine.repository.dao.base.EngineBaseModel;
import lombok.Data;

import java.util.Date;

/**
 * @author tinglan.ys
 * @description:
 * @date 2022/4/20 下午2:23
 */
@Data
@TableName("tb_index")
public class IndexEntity extends EngineBaseModel<IndexEntity> {

    /**
     * 指标编号 用于分类：不同版本的指标虽然id不同，但是指标编号是一样的
     */
    private Long indexNum;

    /**
     * 空间id
     */
    private Long projectId;

    /**
     * 指标名称
     */
    private String name;

    /**
     * 指标目录id
     */
    private Long indexCatalogId;

    /**
     * 业务定义
     */
    private String businessDef;

    /**
     * 计算规则
     */
    private String calculationRule;

    /**
     * 时间粒度：day，week，month，quarter，year，rt(实时)
     */
    private String timeGranularity;

    /**
     * 数据ownerId
     */
    private Long dataOwnerId;

    /**
     * 分析维度
     */
    private String analysisDimension;

    /**
     * 备注
     */
    private String remark;

    /**
     * 版本
     */
    private String version;

    /**
     * 状态 0-待开发 1-已完成
     */
    private Integer status;

    /**
     * 指标结果(保留字段)
     */
    private String indexResult;

    /**
     * 数据更新时间
     */
    private Date dataUptTime;

    /**
     * 指标关联的离线任务id
     */
    private Long nodeId;

    /**
     * 指标关联的表明
     */
    private String tblName;

    /**
     * 指标关联的表id
     */
    private Long tblId;

    /**
     * 计量单位
     */
    private String unit;

    /**
     * 主题
     */
    private Long themeId;

    // TODO init sql 添加字段
    /**
     * 指标字段
     */
    private String indexField;

    /**
     * 指标开发类型, 0 新建表, 1 已有表开发
     */
    private Integer devType;

    /**
     * sql节点id
     */
    private Long sqlId;

    /**
     * 调度类型, 0 定时, 1 依赖调度
     */
    private Integer triggerType;

    /**
     * 发布状态
     */
    @TableField(value = "\"release\"")
    private Integer release;
}
